package it.maggioni.sandbox.hibernate4;

import it.maggioni.sandbox.hibernate4.dto.UserDetails02;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class Ex02 {
	
	/**
	 * Personalizziamo ora i nomi delle tabelle e proviamo ad annotare il getter 
	 * (la soluzione con un pò di campi e un pò di getter non funziona 
	 * correttamente: o tutti i campi o tutti i getter)
	 * @param args
	 */
	
	public static void main(String[] args) {
		UserDetails02 userDetails = new UserDetails02();
		userDetails.setUserId(1);
		userDetails.setUserName("First User");

		Configuration configuration = new Configuration().configure("/"+Ex02.class.getPackage().getName().replace(".","/")+"/hibernate-"+Ex02.class.getSimpleName()+".cfg.xml");
	    ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();        
	    SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
	    
	    Session session = sessionFactory.openSession();
	    session.beginTransaction();
	    session.save(userDetails);
	    session.getTransaction().commit();
	    session.close();
	    
	    sessionFactory.close();
	}

}
